Vehicle maintenance reminders

ABSTRACT

A system may determine, based on vehicle data received from vehicle sensors, a maintenance indication indicative of vehicle maintenance required according to a vehicle maintenance schedule, identify a maintenance time indication for which a maintenance procedure unrelated to the vehicle maintenance schedule should be performed, and generate a maintenance recommendation to provide in a vehicle human-machine interface offering to perform the vehicle maintenance and the unrelated maintenance procedure. The system may also identify, based on driver maintenance preferences, a weather-specific maintenance procedure unrelated to a vehicle maintenance schedule, identify a maintenance time indication according to properties of weather appropriate for the weather-specific maintenance procedure and weather forecast data queried from a weather service, and present a maintenance recommendation offering to perform required vehicle maintenance and the weather-specific maintenance procedure at a time indicated by the maintenance time indication.

TECHNICAL FIELD

This disclosure generally relates to providing maintenance reminders fora vehicle according to a vehicle maintenance schedule.

BACKGROUND

Vehicles, such as automobiles, require routine maintenance. However,many vehicle owners delay or omit routine maintenance proceduresrecommended by the vehicle manufacturer. Deferred or omitted vehiclemaintenance may cause premature wear or even failure of vehiclecomponents. The vehicle owner may blame this wear on the manufacturer,rather than on his or her own failure to maintain.

SUMMARY

In a first exemplary embodiment, a system includes a processorconfigured to determine, based on vehicle data received from vehiclesensors and a vehicle maintenance schedule, a maintenance indicationindicative of vehicle maintenance that is due, identify a maintenancetime indication for performing a weather-specific maintenance procedureunrelated to the vehicle maintenance schedule, and generate amaintenance recommendation offering to perform the vehicle maintenanceand the unrelated maintenance procedure at a time indicated by themaintenance time indication.

In a second exemplary embodiment, a system includes a processorconfigured to identify, based on driver maintenance preferences, aweather-specific maintenance procedure unrelated to a vehiclemaintenance schedule, identify a maintenance time indication accordingto properties of weather appropriate for the weather-specificmaintenance procedure and weather forecast data queried from a weatherservice, and present a maintenance recommendation to perform requiredvehicle maintenance and the weather-specific maintenance procedure at atime indicated by the maintenance time indication.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an exemplary block topology of a vehicle infotainment systemimplementing a user-interactive vehicle based computing system;

FIG. 2 illustrates an exemplary vehicle having a maintenancerecommendation application and vehicle sensors, and in communicationwith a weather service and calendar service via a network;

FIG. 3 illustrates an exemplary block diagram of a system using themaintenance recommendation application to provide maintenancerecommendations to the driver;

FIG. 4 illustrates an exemplary user interface illustrating amaintenance recommendation displayed by the maintenance recommendationapplication in the vehicle human-machine interface;

FIG. 5 illustrates an exemplary process for providing maintenancerecommendations; and

FIG. 6 illustrates an exemplary process for updating the vehiclecomputing system with respect to maintenance being performed to thevehicle.

DETAILED DESCRIPTION

As required, detailed embodiments of the present invention are disclosedherein; however, it is to be understood that the disclosed embodimentsare merely exemplary of the invention that may be embodied in variousand alternative forms. The figures are not necessarily to scale; somefeatures may be exaggerated or minimized to show details of particularcomponents. Therefore, specific structural and functional detailsdisclosed herein are not to be interpreted as limiting, but merely as arepresentative basis for teaching one skilled in the art to variouslyemploy the present invention.

A vehicle may determine, based on a vehicle maintenance schedule andinput from vehicle systems, that the vehicle maintenance is due to beperformed. For example, a vehicle computing system (VCS) may beconfigured to receive information from vehicle sensors regarding filllevel or other properties of a vehicle fluid (e.g., oil, coolant, etc.),as well as to determine based on the information whether or not thefluid requires changing. As another example, the VCS may be configuredto identify remaining life of a fluid based on indirect information,such as vehicle miles driven, the average speed of the vehicle duringthose miles and the temperature of the vehicle or environment duringthose miles. If vehicle maintenance should be performed, the VCS may beconfigured to provide a reminder to the driver in a human-machineinterface (HMI) of the vehicle (e.g., on a display, via a warning light,etc.). The VCS may be similarly configured to determine when othervehicle wear items require servicing, such as filters or brakes, and mayprovide warnings via the vehicle HMI when such service is indicated.Despite such warnings, vehicle owners may elect to defer vehicle servicebeyond when the maintenance schedule indicates it should be performed,potentially causing unnecessary vehicle wear or other issues.

A VCS may be further configured to identify, based on forecast weatherconditions, a time appropriate for a maintenance procedure unrelated tothe maintenance schedule. For example, the VCS may be configured toidentify that an upcoming day may be appropriate for a car wash. Toencourage the vehicle owner to perform the required vehicle maintenance,the VCS may be configured to provide a maintenance recommendation viathe HMI for the required maintenance procedure due for the vehicle(e.g., for an oil change) based on appropriate weather/conditions for amaintenance procedure unrelated to the maintenance schedule (e.g., forthe car wash). By providing the maintenance recommendation for themaintenance procedure unrelated to the maintenance schedule along withthe maintenance recommendation for the vehicle service, the VCS may beable to improve compliance with the vehicle maintenance schedule, whilealso offering the vehicle owner suggested times to performweather-related or other non-essential vehicle maintenance.

FIG. 1 illustrates an example block topology for a vehicle basedcomputing system 1 (VCS) for a vehicle 31. An example of such avehicle-based computing system 1 is the SYNC system manufactured by THEFORD MOTOR COMPANY. A vehicle enabled with a vehicle-based computingsystem may contain a visual front end interface 4 located in thevehicle. The user may also be able to interact with the interface if itis provided, for example, with a touch sensitive screen. In anotherillustrative embodiment, the interaction occurs through, button presses,spoken dialog system with automatic speech recognition and speechsynthesis.

In the illustrative embodiment 1 shown in FIG. 1, a processor 3 controlsat least some portion of the operation of the vehicle-based computingsystem. Provided within the vehicle, the processor allows onboardprocessing of commands and routines. Further, the processor is connectedto both non-persistent 5 and persistent storage 7. In this illustrativeembodiment, the non-persistent storage is random access memory (RAM) andthe persistent storage is a hard disk drive (HDD) or flash memory. Ingeneral, persistent (non-transitory) memory can include all forms ofmemory that maintain data when a computer or other device is powereddown. These include, but are not limited to, HDDs, CDs, DVDs, magnetictapes, solid state drives, portable USB drives and any other suitableform of persistent memory.

The processor is also provided with a number of different inputsallowing the user to interface with the processor. In this illustrativeembodiment, a microphone 29, an auxiliary input 25 (for input 33), a USBinput 23, a GPS input 24, screen 4, which may be a touchscreen display,and a BLUETOOTH input 15 are all provided. An input selector 51 is alsoprovided, to allow a user to swap between various inputs. Input to boththe microphone and the auxiliary connector is converted from analog todigital by a converter 27 before being passed to the processor. Althoughnot shown, numerous of the vehicle components and auxiliary componentsin communication with the VCS may use a vehicle network (such as, butnot limited to, a CAN bus) to pass data to and from the VCS (orcomponents thereof).

Outputs to the system can include, but are not limited to, a visualdisplay 4 and a speaker 13 or stereo system output. The speaker isconnected to an amplifier 11 and receives its signal from the processor3 through a digital-to-analog converter 9. Output can also be made to aremote BLUETOOTH device such as PND 54 or a USB device such as vehiclenavigation device 60 along the bi-directional data streams shown at 19and 21 respectively.

In one illustrative embodiment, the system 1 uses the BLUETOOTHtransceiver 15 to communicate 17 with a user's nomadic device 53 (e.g.,cell phone, smart phone, PDA, or any other device having wireless remotenetwork connectivity). The nomadic device can then be used tocommunicate 59 with a network 61 outside the vehicle 31 through, forexample, communication 55 with a cellular tower 57. In some embodiments,tower 57 may be a WiFi access point.

Exemplary communication between the nomadic device and the BLUETOOTHtransceiver is represented by signal 14.

Pairing a nomadic device 53 and the BLUETOOTH transceiver 15 can beinstructed through a button 52 or similar input. Accordingly, the CPU isinstructed that the onboard BLUETOOTH transceiver will be paired with aBLUETOOTH transceiver in a nomadic device.

Data may be communicated between CPU 3 and network 61 utilizing, forexample, a data-plan, data over voice, or DTMF tones associated withnomadic device 53. Alternatively, it may be desirable to include anonboard modem 63 having antenna 18 in order to communicate 16 databetween CPU 3 and network 61 over the voice band. The nomadic device 53can then be used to communicate 59 with a network 61 outside the vehicle31 through, for example, communication 55 with a cellular tower 57. Insome embodiments, the modem 63 may establish communication 20 with thetower 57 for communicating with network 61. As a non-limiting example,modem 63 may be a USB cellular modem and communication 20 may becellular communication.

In one illustrative embodiment, the processor is provided with anoperating system including an API to communicate with modem applicationsoftware. The modem application software may access an embedded moduleor firmware on the BLUETOOTH transceiver to complete wirelesscommunication with a remote BLUETOOTH transceiver (such as that found ina nomadic device). Bluetooth is a subset of the IEEE 802 PAN (personalarea network) protocols. IEEE 802 LAN (local area network) protocolsinclude WiFi and have considerable cross-functionality with IEEE 802PAN. Both are suitable for wireless communication within a vehicle.Another communication means that can be used in this realm is free-spaceoptical communication (such as IrDA) and non-standardized consumer IRprotocols.

In another embodiment, nomadic device 53 includes a modem for voice bandor broadband data communication. In the data-over-voice embodiment, atechnique known as frequency division multiplexing may be implementedwhen the owner of the nomadic device can talk over the device while datais being transferred. At other times, when the owner is not using thedevice, the data transfer can use the whole bandwidth (300 Hz to 3.4 kHzin one example). While frequency division multiplexing may be common foranalog cellular communication between the vehicle and the internet, andis still used, it has been largely replaced by hybrids of Code DomainMultiple Access (CDMA), Time Domain Multiple Access (TDMA), Space-DomainMultiple Access (SDMA) for digital cellular communication. These are allITU IMT-2000 (3G) compliant standards and offer data rates up to 2 mbsfor stationary or walking users and 385 kbs for users in a movingvehicle. 3G standards are now being replaced by IMT-Advanced (4G) whichoffers 100 mbs for users in a vehicle and 1 gbs for stationary users. Ifthe user has a data-plan associated with the nomadic device, it ispossible that the data-plan allows for broad-band transmission and thesystem could use a much wider bandwidth (speeding up data transfer). Instill another embodiment, nomadic device 53 is replaced with a cellularcommunication device (not shown) that is installed to vehicle 31. In yetanother embodiment, the ND 53 may be a wireless local area network (LAN)device capable of communication over, for example (and withoutlimitation), an 802.11g network (i.e., WiFi) or a WiMax network.

In one embodiment, incoming data can be passed through the nomadicdevice via a data-over-voice or data-plan, through the onboard BLUETOOTHtransceiver and into the vehicle's internal processor 3. In the case ofcertain temporary data, for example, the data can be stored on the HDDor other storage media 7 until such time as the data is no longerneeded.

Additional sources that may interface with the vehicle include apersonal navigation device 54, having, for example, a USB connection 56and/or an antenna 58, a vehicle navigation device 60 having a USB 62 orother connection, an onboard GPS device 24, or remote navigation system(not shown) having connectivity to network 61. USB is one of a class ofserial networking protocols. IEEE 1394 (FireWire™ (Apple), i.LINK™(Sony), and Lynx™ (Texas Instruments)), EIA (Electronics IndustryAssociation) serial protocols, IEEE 1284 (Centronics Port), S/PDIF(Sony/Philips Digital Interconnect Format) and USB-IF (USB ImplementersForum) form the backbone of the device-device serial standards. Most ofthe protocols can be implemented for either electrical or opticalcommunication.

Further, the CPU could be in communication with a variety of otherauxiliary devices 65. These devices can be connected through a wireless67 or wired 69 connection. Auxiliary device 65 may include, but are notlimited to, personal media players, wireless health devices, portablecomputers, and the like.

Also, or alternatively, the CPU could be connected to a vehicle basedwireless router 73, using for example a WiFi (IEEE 803.11) 71transceiver. This could allow the CPU to connect to remote networks inrange of the local router 73.

In addition to having exemplary processes executed by a vehiclecomputing system located in a vehicle, in certain embodiments, theexemplary processes may be executed by a computing system incommunication with a vehicle computing system. Such a system mayinclude, but is not limited to, a wireless device (e.g., and withoutlimitation, a mobile phone) or a remote computing system (e.g., andwithout limitation, a server) connected through the wireless device.Collectively, such systems may be referred to as vehicle associatedcomputing systems (VACS). In certain embodiments particular componentsof the VACS may perform particular portions of a process depending onthe particular implementation of the system. By way of example and notlimitation, if a process has a step of sending or receiving informationwith a paired wireless device, then it is likely that the wirelessdevice is not performing the process, since the wireless device wouldnot “send and receive” information with itself. One of ordinary skill inthe art will understand when it is inappropriate to apply a particularVACS to a given solution. In all solutions, it is contemplated that atleast the vehicle computing system (VCS) located within the vehicleitself is capable of performing the exemplary processes.

FIG. 2 illustrates an exemplary vehicle 31 having a maintenancerecommendation application 210 and vehicle sensors 204, and configuredto communicate with a weather service 206 and maintenance schedulerservice 208 via a network 61. In an example, the VCS 1 of the vehicle 31may be connected to a paired nomadic device 53 (e.g. via BLUETOOTH),such that the communications features of the nomadic device 53 may beused to allow the VCS 1 to communicate via the network 61 with theweather service 206 and maintenance scheduler service 208. In anotherexample, the VCS 1 may be configured to use an onboard modem 63 tocommunicate via the network 61. As explained in detail below, the VCS 1may be configured to execute the maintenance recommendation application210 to cause the VCS 1 to utilize the vehicle sensors 204 and weatherservice 206 to provide maintenance recommendations 214 via a vehicle HMI212, as well as to set up appointments with the maintenance scheduleservice 208 via the network 61.

The maintenance schedule 202 may include information related tomaintenance operations that should be performed for the vehicle 31. Insome cases, one or more of the maintenance operations may be specifiedby the maintenance schedule 202 according to a predetermined interval oftime or vehicle miles (e.g., whichever comes first). In other cases, oneor more of the maintenance operations may be specified by themaintenance schedule 202 according to a predetermined amount of time orvehicle miles measured from vehicle 31 manufacture. The maintenanceoperations may include, as some non-limiting examples, oil changes,replacement of brake fluid, brake inspection, suspension inspection,lubrication of vehicle parts, tire rotation, air filter replacement,parking brake adjustment, belt replacement, spark plug replacement,coolant replacement, and idle speed adjustment.

The vehicle sensors 204 may include devices of the vehicle 31 configuredto measure quantities relevant to operation of the vehicle 31, as wellas to provide a data signal to the vehicle 31 to inform the vehicle 31regarding the measured quantities. The vehicle sensors 204 may include,as some non-limiting examples, a vehicle speed sensor, a throttleposition sensor, a brake light switch sensor, an impact sensor, acoolant temperature sensor, an oil pressure sensor, an engine oxygensensor, a power steering pressure switch, a steering angle sensor, alateral acceleration sensor, a longitudinal acceleration sensor, a wheelspeed sensor, a tire pressure sensor, an odometer sensor, and an oiltemperature sensor.

The weather service 206 may be configured to provide informationregarding current and forecast weather conditions. The informationregarding weather conditions may include, for example, temperature(e.g., current, forecast low, forecast high, etc.), type ofprecipitation (e.g., rain, snow, sleet, hail, etc.), likelihood ofprecipitation (e.g., as a percentage), allergen status (e.g., pollenlevel, smog level, etc.) among other possibilities. In some cases,forecast weather conditions may be specified over a daily timescale,while in other cases, forecast weather conditions may be specified overa shorter timescale, such as hourly. The weather service 206 may beconfigured to receive requests for current and/or forecast weatherconditions for a specified geographic location and date/time, andrespond to the requests with the requested information.

The maintenance scheduler service 208 may be configured to manageappointments for vehicles 31 to have maintenance performed. For example,the maintenance scheduler service 208 may be configured to manageappointments for one or more dealers or other vehicle service centers,to allow customers to book times to have scheduled maintenance performedto their vehicles 31. The maintenance scheduler service 208 may befurther configured to keep track of what maintenance was performed, toallow the vehicle service centers to be aware of what maintenance waspreviously performed to the vehicle 31 and when.

The maintenance recommendation application 210 may be one example of anapplication program stored on a memory of the nomadic device 53 or VCS 1(e.g., as software, firmware, etc.). When executed by one or moreprocessors of the nomadic device 53 or VCS 1, the maintenancerecommendation application 210 may be configured to cause the nomadicdevice 53 or VCS 1 to perform various operations related to thedetermining and providing of maintenance recommendations 214 to thedriver via the vehicle HMI 212.

The vehicle HMI 212 may include various input hardware and outputhardware serving to create a user interface for the driver and/or othervehicle occupants. Exemplary vehicle HMI 212 input hardware may includemicrophones for capturing audio input, and one or more user controlssuch as touch-screens, knobs or buttons (e.g., located on the vehicledash, on the vehicle steering wheel, etc.). The vehicle HMI 212 may alsoinclude output hardware, such as one or more displays to provide visualoutput (e.g., a head unit touch-screen display, a display of the gaugecluster, etc.) and one or more speakers to provide audio output (e.g.,via the vehicle 31 audio system).

The maintenance recommendation 214 may include information suggestingthat the vehicle owner take the vehicle 31 in for servicing. Forexample, the maintenance recommendation 214 may specify a date or timeat which the vehicle 31 is suggested to be taken in for servicing. Themaintenance recommendation 214 may further include additionalinformation regarding the servicing, such as the proposed maintenance tobe performed, a cost for the maintenance procedures, and an indicationof how immediate the need is for the recommended maintenance to beperformed, as some possibilities. The maintenance recommendation 214 mayfurther include information indicative of whether or not the maintenancerequested by the maintenance recommendation 214 has been performed.

The maintenance recommendation application 210 may be configured todetermine, based on the maintenance schedule 202 and input from thevehicle sensors 204, that vehicle maintenance is due to be performed.The maintenance recommendation application 210 may be further configuredto identify, based on forecast weather conditions requested from theweather service 206, a time appropriate for a maintenance procedureunrelated to the maintenance schedule 202. For example, the maintenancerecommendation application 210 may be configured to identify that anupcoming day may be appropriate for a car wash. To encourage the vehicleowner to perform the vehicle service required by the maintenanceschedule 202, the maintenance recommendation application 210 may beconfigured to provide the maintenance recommendation 214 via the vehicleHMI 212 for the maintenance procedure due for the vehicle 31 (e.g., oilchange) based on appropriate weather/conditions for the maintenanceprocedure unrelated to vehicle wear items also included in themaintenance recommendation 214 and tied to the vehicle 31 (e.g., for acar wash).

By providing in the maintenance recommendation 214 an offer for amaintenance procedure unrelated to vehicle 31 wear along with themaintenance recommendation 214 for the vehicle servicing specified bythe maintenance schedule 202, the maintenance recommendation 214 may beable to improve operator compliance with the maintenance schedule 202,while at the same time offering the vehicle owner good times to performweather-related vehicle maintenance. Further details of the operation ofthe maintenance recommendation application 210 are discussed in detailbelow with respect to FIGS. 3-5.

FIG. 3 illustrates an exemplary block diagram 300 of a system using themaintenance recommendation application 210 to provide maintenancerecommendations 214 to the driver. In an example, the modules of themaintenance recommendation application 210 may be implemented by one ormore processors or microprocessors of the vehicle 31 (such as the CPU 3of the VCS 1) configured to execute the instructions of the maintenancerecommendation application 210 stored on one or more memory devices ofthe vehicle 31 (such as the storage 5 and 7). In other examples, themodules may be implemented by other combinations of hardware or hardwareexecuting software and/or firmware configured to perform the operationsdiscussed herein. As illustrated, the maintenance recommendationapplication 210 includes a maintenance estimator module 304 configuredto receive vehicle data 302 and determine a maintenance indication 306.The maintenance recommendation application 210 further includes aweather forecast module 308 configured to receive weather forecast data310 from the weather service 206 and determine a maintenance timeindication 312. The maintenance recommendation application 210 alsoincludes a maintenance delivery module 324 configured to receive themaintenance indication 306, the maintenance time indication 312, as wellas driver maintenance preferences 314, and determine a maintenancerecommendation 214 to be displayed via the vehicle HMI 212. It should benoted that the modularization of the maintenance recommendationapplication 210 illustrated in the diagram 300 is exemplary, and otherarrangements or combinations of elements including more, fewer, ordifferently separated modules may be used.

The vehicle data 302 may include information retrieved from the vehiclesensors 204. As some examples, the vehicle data 302 may includeinformation indicative of vehicle speed, yaw, pitch, roll, lateralacceleration, ambient temperature, accelerator pedal position, steeringwheel angle, vehicle position, vehicle fluid temperatures, vehiclespeed, and vehicle miles traveled. The maintenance recommendationapplication 210 may be configured to receive the vehicle data 302 fromover a vehicle network. In an example, the vehicle network may be acontroller-area network (CAN) network over which the vehicle sensors 204may be configured to communicate.

The maintenance estimator module 304 may be configured to utilize thevehicle data 302 to identify whether any vehicle maintenance isrequired. For example, the maintenance estimator module 304 may beconfigured to identify whether the elements of the vehicle data 302 areindicative of maintenance that may be required according to themaintenance schedule 202 of the vehicle 31. As a more specific example,the maintenance estimator module 304 may identify, based on themaintenance schedule 202 of the vehicle 31 and the vehicle milestraveled vehicle data 302 retrieved from a vehicle odometer vehiclesensor 204, that an element of maintenance from the maintenance schedule202 is due. As another example, the maintenance estimator module 304 mayidentify, based on the maintenance schedule 202 of the vehicle 31 and anamount of time since the last fluid change that a fluid change is due.As yet a further example, the maintenance estimator module 304 mayidentify, based on the maintenance schedule 202 of the vehicle 31 andtemperature and average vehicle speed data that a fluid change is due.

When the maintenance estimator module 304 identifies that maintenancethat may be required according to the maintenance schedule 202, themaintenance estimator module 304 may be configured to generate amaintenance indication 306. The maintenance indication 306 may indicatethe item of maintenance that should be performed (e.g., oil change, newair filter, etc.). The maintenance indication 306 may also indicate aseverity level for the item of maintenance that should be performed(e.g., a low priority where the maintenance does not require immediateaction, a medium priority where the maintenance should be performedwithin a certain number of miles or days to preserve vehicle 31operation or to avoid vehicle 31 damage, or a high priority where thevehicle 31 must not be driven until the maintenance is performed).

The weather forecast module 308 may be configured to query the weatherservice 206 for past, current or forecast weather conditions related tothe timing for which the maintenance indication 306 indicates thatmaintenance should be performed. This retrieved information may bereferred to as weather forecast data 310, and may include temperature,precipitation, allergen and other information retrieved from the weatherservice 206. Based on the weather forecast data 310, the weatherforecast module 308 may be configured to generate a maintenance timeindication 312 indicative of one or more times deemed by the weatherforecast module 308 as being suitable. For instance, the maintenancetime indication 312 may indicate a time or times where the weather isnot expected to include precipitation.

The driver maintenance preferences 314 may include informationindicative of how a driver, owner or other person responsive formaintenance to the vehicle 31 prefers to have the maintenance performed.For example, the driver maintenance preferences 314 may includeindications of locations previously used to service the vehicle 31,times of day and days of the week during which the vehicle 31 waspreviously put into service, and preferred maintenance proceduresunrelated to vehicle wear items (e.g., car washes, vehicle detailing).As another example, the driver maintenance preferences 314 may includeinformation requesting that the user not receive reminders to performthe preferred maintenance procedures unrelated to vehicle wear itemsbefore or after certain weather. For instance, the driver maintenancepreferences 314 may indicate that the user does not wish to be remindedto wash the vehicle 31 for a specified amount of days before a forecaststorm or after a recorded storm.

The maintenance management module 316 may be configured to receivemaintenance indications 306 from the maintenance estimator module 304,request maintenance time indications 312 from the weather forecastmodule 308, and determine, based on the driver maintenance preferences314 and maintenance time indications 312, a maintenance recommendation214 to be provided to the driver via the vehicle HMI 212. For example,the maintenance management module 316 may be configured to determine,based on the maintenance time indications 312, a time suitable for amaintenance procedure unrelated to the maintenance schedule 202 that ispreferred by the driver based on the driver maintenance preferences 314.Responsive to the determination, the maintenance management module 316may be further configured to generate a maintenance recommendation 214suggesting that both the maintenance procedure unrelated to themaintenance schedule 202 and the maintenance indicated by themaintenance indications 306 be performed at the time suitable formaintenance procedure unrelated to maintenance schedule 202. As aspecific example, the maintenance recommendation application 210 maydetermine that as it may rain today but not for the next three days, andthat the driver prefers car washes, a maintenance recommendation 214should be generated suggesting that the driver schedule to have vehiclemaintenance performed tomorrow as well as a car wash at the same time.

FIG. 4 illustrates an exemplary user interface 400 illustrating amaintenance recommendation 214 displayed by the maintenancerecommendation application 210 in the vehicle HMI 212. In an example,the maintenance recommendation 214 may be displayed (e.g., upon vehicle31 startup, responsive to generation, etc.) when the maintenancerecommendation application 210 determines that a maintenancerecommendation 214 has been generated by the maintenance recommendationapplication 210 for which the recommended maintenance has not yet beenperformed. As displayed, the maintenance recommendation 214 includes amessage 402 indicating a proposed day for performing vehicle 31maintenance required by the maintenance schedule 202 as well as amaintenance procedure unrelated to the maintenance schedule 202 (e.g., acar wash). The user interface 400 further includes additional controlsconfigured to receive user input regarding acceptance or rejection ofthe provided maintenance recommendation 214. For instance, the userinterface may include a yes control 404 configured to receive input fromthe user (e.g., touch input, voice input, etc.) indicative of acceptableof the maintenance recommendation 214, and a no control 406 configuredto receive input from the user indicative of rejection of themaintenance recommendation 214.

If the user accepts the maintenance recommendation 214, the maintenancerecommendation application 210 may be configured to utilize themaintenance scheduler service 208 to finalize an appointment for theuser to have the maintenance performed to the vehicle 31. If the userrejects the maintenance recommendation 214, in some cases themaintenance recommendation 214 may be offered again at a later time(e.g., upon next key-on, the next day, etc.). In other cases, if themaintenance recommendation 214 is for a high priority maintenance itemwhere the vehicle 31 must not be driven until the maintenance isperformed, the maintenance recommendation application 210 may preventdismissal of the maintenance recommendation 214 until the maintenancecondition is addressed.

FIG. 5 illustrates an exemplary process 500 for providing maintenancerecommendations 214. The process 500 may be performed, for example, bythe maintenance recommendation application 210 executed by the VCS 1 orthe nomadic device 53.

At operation 502, the maintenance recommendation application 210determines a maintenance indication 306. For example, the maintenanceestimator module 304 of the maintenance recommendation application 210may identify whether elements of the vehicle data 302 retrieved from thevehicle sensors 204 are indicative of maintenance that may be requiredaccording to the maintenance schedule 202 of the vehicle 31. When themaintenance estimator module 304 identifies that maintenance that may berequired according to the maintenance schedule 202, the maintenanceestimator module 304 may generate a maintenance indication 306. Themaintenance indication 306 may indicate the item of maintenance thatshould be performed as well as a severity level for the item ofmaintenance that should be performed.

At operation 504, the maintenance recommendation application 210determines a maintenance time indication 312. For example, themaintenance recommendation application 210 may identify weatherconditions suitable for a maintenance procedure unrelated to themaintenance schedule 202 but preferred by the driver according to thedriver maintenance preferences 314. The maintenance recommendationapplication 210 may further utilize the weather forecast module 308 ofthe maintenance recommendation application 210 to query the weatherservice 206 for current or forecast weather conditions related to thetiming for which the maintenance indication 306 indicates thatmaintenance should be performed. Based on the weather forecast data 310,the weather forecast module 308 may generate a maintenance timeindication 312 indicative of one or more times deemed suitable forperforming the a maintenance procedure unrelated to the maintenanceschedule 202 (e.g., appropriate weather for a car wash).

At operation 506, the maintenance recommendation application 210generates a maintenance recommendation 214. For example, the maintenancemanagement module 316 of the maintenance recommendation application 210may receive maintenance indications 306 from the maintenance estimatormodule 304, receive maintenance time indications 312 from the weatherforecast module 308, and determine, based on the driver maintenancepreferences 314, a maintenance recommendation 214 to be provided to thedriver via the vehicle HMI 212. The maintenance management module 316may accordingly determine, based on the maintenance time indications312, a time suitable for maintenance procedure unrelated to the vehiclemaintenance schedule 202, and may generate a maintenance recommendation214 suggesting that both the maintenance procedure unrelated to themaintenance schedule 202 and the maintenance indicated by themaintenance indications 306 be performed at the time suitable for themaintenance procedure unrelated to the vehicle maintenance schedule 202.For instance, the driver maintenance preferences 314 may indicate thatthe user does not wish to be reminded to wash the vehicle 31 for aspecified amount of days before a forecast storm or after a recordedstorm, so the maintenance recommendation application 210 may accordinglygenerate the maintenance recommendation 214 in compliance with thedriver maintenance preferences 314 responsive to the informationreceived from the weather forecast module 308.

At operation 508, the maintenance recommendation application 210displays the maintenance recommendation 214 via the vehicle HMI 212. Inan example, FIG. 4 illustrates an exemplary user interface 400 includingdisplay of a maintenance recommendation 214. From the user interface400, the user may select to schedule the recommended maintenance. Afteroperation 508, the process 500 ends.

FIG. 6 illustrates an exemplary process 600 for updating the VCS 1 withrespect to maintenance being performed to the vehicle 31. As with theprocess 500, the process 600 may be performed, for example, by themaintenance recommendation application 210 executed by the VCS 1 or thenomadic device 53.

At operation 602, the maintenance recommendation application 210receives an indication of completed vehicle 31 maintenance. In anexample, the maintenance recommendation application 210 may identifybased on received vehicle data 302 (e.g., fluid level/quality, tirepressure, etc.) that the recommended vehicle 31 maintenance has beencompleted. In another example, the maintenance recommendationapplication 210 may identify that the vehicle 31 has spent at least apredetermined amount of time at a location (car wash, dealership, etc.)at which vehicle 31 maintenance was likely performed, and responsive tothe identification may provide a user interface prompt to receiveconfirmation that the recommended maintenance has been performed. In yeta further example, the VCS 1 may be configured to receive manual inputfrom the user (e.g., resetting of a maintenance recommendation 214displayed in the vehicle HMI 212, utilizing a maintenance reset functionof the VCS 1, etc.) indicating that the recommended vehicle 31maintenance was performed. As yet another example, the maintenancerecommendation application 210 may determine that the recommendedvehicle 31 maintenance has been completed based on maintenancescheduling information for the vehicle 31 retrieved from the maintenancescheduler service 208.

At operation 604, the maintenance recommendation application 210 updatesthe maintenance recommendation 214. For example, based on receiving thevehicle data 302 or input from the user, the maintenance recommendationapplication 210 may mark the maintenance recommendation 214 as completeor remove the maintenance recommendation 214 from VCS 1 memory.Accordingly the vehicle HMI 212 may dismiss the maintenancerecommendation 214 or otherwise no longer show the maintenancerecommendation 214 in the vehicle HMI 212.

At operation 606, the maintenance recommendation application 210 updatesthe driver maintenance preferences 314. For example, the maintenancerecommendation application 210 may update the driver maintenancepreferences 314 with respect to the location used to service the vehicle31, times of day and days of the week during which the vehicle 31 wasput into service, and whether maintenance procedures unrelated tovehicle wear items (e.g., car washes, vehicle detailing) were alsoperformed. The driver maintenance preferences 314 may accordingly beused to better inform the maintenance recommendation application 210 informing future maintenance recommendations 214 for the vehicle 31. Afteroperation 606, the process 600 ends.

While exemplary embodiments are described above, it is not intended thatthese embodiments describe all possible forms of the invention. Rather,the words used in the specification are words of description rather thanlimitation, and it is understood that various changes may be madewithout departing from the spirit and scope of the invention.Additionally, the features of various implementing embodiments may becombined to form further embodiments of the invention.

What is claimed is:
 1. A system comprising: vehicle sensors; and aprocessor configured to receive vehicle data from the vehicle sensors,determine, based on the vehicle data and a vehicle maintenance schedule,a maintenance indication indicative of vehicle maintenance that is due,identify a maintenance time indication for performing a weather-specificmaintenance procedure unrelated to the vehicle maintenance schedulebased on timeframes before and after weather predicted by weatherforecast data during which maintenance recommendations are not to beindicated, and display a maintenance recommendation offering to performthe vehicle maintenance and the weather-specific maintenance procedureat a time indicated by the maintenance time indication.
 2. The system ofclaim 1, wherein the processor is further configured to provide themaintenance recommendation in a vehicle human-machine interface.
 3. Thesystem of claim 2, wherein the processor is further configured to:receive user input accepting the maintenance recommendation, andschedule the vehicle maintenance and the weather-specific maintenanceprocedure with a maintenance scheduling service.
 4. The system of claim2, wherein the maintenance recommendation displays a message indicatinga proposed day for performing the vehicle maintenance required by themaintenance schedule and the weather-specific maintenance procedure. 5.The system of claim 2, wherein the maintenance recommendation includesuser interface controls configured to receive user input regardingacceptance or rejection of the maintenance recommendation.
 6. The systemof claim 1, wherein the processor is further configured to receive thevehicle data from vehicle sensors connected to a controller area networkof the vehicle.
 7. The system of claim 1, wherein the processor isfurther configured to identify the maintenance time indication accordingto properties of weather appropriate for the weather-specificmaintenance procedure and where the weather forecast data is queried bythe processor from a weather service.
 8. The system of claim 1, whereinthe processor is further configured to identify the weather-specificmaintenance procedure based on driver maintenance preferences maintainedby the vehicle.
 9. The system of claim 1, wherein the weather-specificmaintenance procedure includes a vehicle wash.
 10. The system of claim1, wherein the maintenance schedule includes at least one of maintenanceprocedures specified according to a predetermined interval of time, ormaintenance procedures specified according to an interval number ofmiles.
 11. A system comprising: vehicle sensors; and a processorconfigured to identify, based on driver maintenance preferences, aweather-specific maintenance procedure unrelated to a vehiclemaintenance schedule, identify a maintenance time indication accordingto properties of weather appropriate for the weather-specificmaintenance procedure and weather forecast data queried from a weatherservice using driver maintenance preferences indicating timeframesbefore and after predicted weather during which maintenancerecommendations are not to be indicated, and display a maintenancerecommendation offering to perform required vehicle maintenancedetermined based on data from the vehicle sensors and theweather-specific maintenance procedure at a time indicated by themaintenance time indication.
 12. The system of claim 11, wherein theprocessor is further configured to determine, based on vehicle datareceived from the vehicle sensors and the vehicle maintenance schedule,a maintenance indication indicative of the required vehicle maintenancebeing due.
 13. The system of claim 12, wherein the processor is furtherconfigured to receive the vehicle data from vehicle sensors connected toa controller area network of the vehicle.
 14. The system of claim 11,wherein the processor is further configured to provide the maintenancerecommendation in a vehicle human-machine interface.
 15. The system ofclaim 14, wherein the processor is further configured to: receive userinput accepting the maintenance recommendation, and schedule therequired vehicle maintenance and the weather-specific maintenanceprocedure with a maintenance scheduling service.
 16. The system of claim14, wherein the maintenance recommendation displays a message indicatinga proposed day for performing the vehicle maintenance required by themaintenance schedule and the weather-specific maintenance procedure. 17.The system of claim 14, wherein the maintenance recommendation includesuser interface controls configured to receive user input regardingacceptance or rejection of the maintenance recommendation.
 18. Thesystem of claim 11, wherein the weather-specific maintenance procedureincludes a vehicle wash.
 19. The system of claim 11, wherein themaintenance schedule includes at least one of maintenance proceduresspecified according to a predetermined interval of time, or maintenanceprocedures specified according to an interval number of miles.
 20. Amethod comprising: generating, by a processor of a vehicle, using avehicle maintenance schedule and vehicle data received by the processorfrom vehicle sensors over a controller area network of the vehicle, amaintenance indication indicating a maintenance procedure to beperformed to the vehicle; generating, by the processor, a maintenancetime indication indicative of one or more times deemed suitable forperforming a maintenance procedure unrelated to the maintenance scheduleby querying a weather service for weather conditions while accountingfor driver maintenance preferences indicating timeframes before andafter the weather during which maintenance recommendations are not to beindicated; displaying, to a user interface screen of the vehicle, amaintenance recommendation suggesting a day suitable for the maintenanceprocedure unrelated to the vehicle maintenance schedule, and suggestingthat both the maintenance procedure unrelated to the maintenanceschedule and the maintenance indicated by the maintenance indication beperformed that day; and responsive to user input to the screen acceptingthe maintenance recommendation, schedule an appointment for the vehicleto have both the maintenance procedure unrelated to the maintenanceschedule and the maintenance indicated by the maintenance indicationperformed.